Description:
This audit finds uninitialized class fields that are not initialized:
Incorrect:
Foo = class
private
msg:MyMessage;
public
procedure printMessage();
end;
...
procedure Foo.printMessage();
begin
msg.print();
end;
Correct:
Foo = class
private
msg:MyMessage;
public
constructor Create(msg:MyMessage);
procedure printMessage();
end;
...
constructor Foo.Create(msg:MyMessage);
begin
inherited Create;
self.msg := msg;
end;
procedure Foo.printMessage();
begin
msg.print();
end;